package com.heima.controller;

import com.heima.common.Result;
import com.heima.pojo.SkuClass;
import com.heima.pojo.vo.SkuClassPageResult;
import com.heima.pojo.dto.SkuClassDto;
import com.heima.pojo.dto.SkuClazzPageDto;
import com.heima.pojo.vo.SkuClassVo;
import com.heima.service.SkuClassService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@Slf4j
@RestController
@RequestMapping("/api/vm-service/skuClass")
public class SkuClassController {

    @Autowired
    private SkuClassService skuClassService;

    // 新增分类
    @PostMapping
    public Result add(@RequestBody SkuClass skuCLazz) {
        log.info("{}", skuCLazz);
        skuClassService.add(skuCLazz);
        return Result.success();
    }

    /**
     * 分类查询
     * @param param
     * @return
     */
    @GetMapping("/search")
    @ApiOperation("查询分类列表")
    public SkuClassPageResult queryList(SkuClazzPageDto param) {
        log.info("{}", param);
        SkuClassPageResult skuClazzPageBean = skuClassService.queryList(param);
        return skuClazzPageBean;
    }

    /**
     * 获取分类基本信息
     */
    @GetMapping("/{classId}")
    @ApiOperation("获取分类基本信息")
    public SkuClassVo getBasicInfo(@PathVariable String classId){
        log.info("获取到的id为:{}",classId);
        SkuClassVo vo = skuClassService.getBasicInfo(classId);
        return vo;
    }

    /**
     * 修改分类
     */
    @PutMapping("/{classId}")
    @ApiOperation("修改分类")
    public Result update(@PathVariable String classId, @RequestBody SkuClassDto dto){
        log.info("接收到的参数为:{},{}",classId,dto);
        skuClassService.update(classId,dto);
        return Result.success();
    }

    /**
     * 删除分类
     */
    @DeleteMapping("/{classId}")
    @ApiOperation("删除分类")
    public Result delSkuClass(@PathVariable String classId){
        log.info("接收到的参数为:{}",classId);
        skuClassService.delSkuClass(classId);
        return Result.success();
    }

}
